package com.osfw.dbadminer.domain.database;

import com.baomidou.mybatisplus.annotation.TableField;
import com.sun.jndi.toolkit.url.UrlUtil;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;

import java.nio.charset.StandardCharsets;

@Slf4j
@Getter
@Setter
public class SqlExecuteParam {
    /* 指纹唯一身份Id（用来保证数据安全） */
    private String clientId;

    /* 操作日志（当前执行需要审批时有值） */
    private Long operLogId;

    /* 流程实例ID */
    private Long procInstId;

    /* 数据库连接ID */
    private Long connectId;

    /* 数据连接名称 */
    private String connectName;

    /* 数据库名称 */
    private String databaseName;

    /* 数据表名称（当执行sql为单表或在数据表内操作时，有值） */
    private String datatableName;

    /* 执行sql语句 */
    private String sqlCode;

    /* 分页相关参数 */
    private Integer page = 1;
    private Integer size = 200;
    private Long total = 0l;

    public String getSqlCode() {
        try{
            return new String(Base64.decodeBase64(Base64.decodeBase64(Base64.decodeBase64(UrlUtil.decode(sqlCode)))), StandardCharsets.UTF_8);
        }catch (Exception e){
            log.error("解码异常", e);
        }
        return null;
    }
}
